from llm import NovelLLM
from util import writeFile
from .base import BaseNode

class Step3Node(BaseNode):
    def run(self, state):
        prompt = """
# Task
一页纸人物介绍
- 请生成主要人物的详细设定
    - 包括：男主、女主、反派、导师、同谋、炮灰、信使、考验者、同盟、恋人或伙伴、助力者、小丑以及变化者
- 列出角色姓名、身份、目标、抱负、价值观、矛盾、顿悟，
- 用一句话概括其个人故事线
- 用一段话概括其个人故事线(100-300字)

# 当前故事梗概
{summary}""".format(summary=state['step2_output'])
        result = NovelLLM().call_llm(prompt, caller_name="Step3")
        state['step3_output'] = result
        writeFile("output/step3.txt", result)
        print(f"Step3 完成人物设定生成") 
        return state